package com.edu.study.base.lmsOrder.domain;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.edu.study.base.lmsOrderItem.domain.LmsOrderItem;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;

import io.swagger.annotations.ApiModelProperty;

public class LmsOrderVo  implements Serializable{ 

    private static final long serialVersionUID = 1L; 
    /** 订单ID */ 
    private String id;

    /** 会员ID */
    @Excel(name = "会员ID")
    @ApiModelProperty(value="会员ID")
    private String memberId;

    /** 用户帐号 */
    @Excel(name = "用户帐号")
    @ApiModelProperty(value="用户帐号") 
    private String memberUsername;

    /** 订单编号 */
    @Excel(name = "订单编号")
    @ApiModelProperty(value="订单编号")  
    private String orderSn;

    /** 订单来源：0->PC订单；1->app订单 */
    @Excel(name = "订单来源：0->PC订单；1->app订单")
    @ApiModelProperty(value="订单来源：0->PC订单；1->app订单")   
    private Integer sourceType;

    /** 订单状态：0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭；5->无效订单 */
    @Excel(name = "订单状态：0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭；5->无效订单")
    @ApiModelProperty(value="订单状态：0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭；5->无效订单")  
    private Integer status;

    /** 订单类型：0->正常订单；1->秒杀订单 */
    @Excel(name = "订单类型：0->正常订单；1->秒杀订单")
    @ApiModelProperty(value="订单类型：0->正常订单；1->秒杀订单")    
    private Integer orderType;

    /** 支付方式：0->未支付；1->支付宝；2->微信 */
    @Excel(name = "支付方式：0->未支付；1->支付宝；2->微信")
    @ApiModelProperty(value="支付方式：0->未支付；1->支付宝；2->微信")     
    private Integer payType;

    /** 订单备注 */
    @Excel(name = "订单备注")
    @ApiModelProperty(value="订单备注")
     private String note;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date modifyTime;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date paymentTime;
 
    /** 确认收货状态：0->未确认；1->已确认 */
    @Excel(name = "确认收货状态：0->未确认；1->已确认")
    private Integer confirmStatus;

    /** 订单总金额 */
    @Excel(name = "订单总金额")
    @ApiModelProperty(value="订单总金额")      
    private BigDecimal totalAmount;

    /** 应付金额（实际支付金额） */
    @Excel(name = "应付金额", readConverterExp = "实=际支付金额")
    @ApiModelProperty(value="应付金额")      
    private BigDecimal payAmount;

    /** 促销优化金额（促销价、满减、阶梯价） */
    @Excel(name = "促销优化金额", readConverterExp = "促=销价、满减、阶梯价")
    @ApiModelProperty(value="促销优化金额")  
    private BigDecimal promotionAmount;

    /** 积分抵扣金额 */
    @Excel(name = "积分抵扣金额")
    @ApiModelProperty(value="积分抵扣金额")   
    private BigDecimal integrationAmount;

    /** 优惠券抵扣金额 */
    @Excel(name = "优惠券抵扣金额")
    @ApiModelProperty(value="优惠券抵扣金额")    
    private BigDecimal couponAmount;

    /** 管理员后台调整订单使用的折扣金额 */
    @Excel(name = "管理员后台调整订单使用的折扣金额")
    @ApiModelProperty(value="管理员后台调整订单使用的折扣金额")    
    private BigDecimal discountAmoun;
  
    /** 下单时使用的积分 */
    @Excel(name = "下单时使用的积分")
    @ApiModelProperty(value="下单时使用的积分")     
    private Long useIntegration; 
    /** 可以获得的积分 */
    @Excel(name = "可以获得的积分")
    @ApiModelProperty(value="可以获得的积分")   
    private Long integration;

    /** 可以活动的成长值 */
    @Excel(name = "可以活动的成长值")
    private Long growth;
    
    private  List<LmsOrderItem>  orderItem;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getMemberId() {
		return memberId;
	}

	public void setMemberId(String memberId) {
		this.memberId = memberId;
	}

	public String getMemberUsername() {
		return memberUsername;
	}

	public void setMemberUsername(String memberUsername) {
		this.memberUsername = memberUsername;
	}

	public String getOrderSn() {
		return orderSn;
	}

	public void setOrderSn(String orderSn) {
		this.orderSn = orderSn;
	}

	public Integer getSourceType() {
		return sourceType;
	}

	public void setSourceType(Integer sourceType) {
		this.sourceType = sourceType;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public Integer getOrderType() {
		return orderType;
	}

	public void setOrderType(Integer orderType) {
		this.orderType = orderType;
	}

	public Integer getPayType() {
		return payType;
	}

	public void setPayType(Integer payType) {
		this.payType = payType;
	}

	public String getNote() {
		return note;
	}

	public void setNote(String note) {
		this.note = note;
	}

	public Date getModifyTime() {
		return modifyTime;
	}

	public void setModifyTime(Date modifyTime) {
		this.modifyTime = modifyTime;
	}

	public Date getPaymentTime() {
		return paymentTime;
	}

	public void setPaymentTime(Date paymentTime) {
		this.paymentTime = paymentTime;
	}

	public Integer getConfirmStatus() {
		return confirmStatus;
	}

	public void setConfirmStatus(Integer confirmStatus) {
		this.confirmStatus = confirmStatus;
	}

	public BigDecimal getTotalAmount() {
		return totalAmount;
	}

	public void setTotalAmount(BigDecimal totalAmount) {
		this.totalAmount = totalAmount;
	}

	public BigDecimal getPayAmount() {
		return payAmount;
	}

	public void setPayAmount(BigDecimal payAmount) {
		this.payAmount = payAmount;
	}

	public BigDecimal getPromotionAmount() {
		return promotionAmount;
	}

	public void setPromotionAmount(BigDecimal promotionAmount) {
		this.promotionAmount = promotionAmount;
	}

	public BigDecimal getIntegrationAmount() {
		return integrationAmount;
	}

	public void setIntegrationAmount(BigDecimal integrationAmount) {
		this.integrationAmount = integrationAmount;
	}

	public BigDecimal getCouponAmount() {
		return couponAmount;
	}

	public void setCouponAmount(BigDecimal couponAmount) {
		this.couponAmount = couponAmount;
	}

	public BigDecimal getDiscountAmoun() {
		return discountAmoun;
	}

	public void setDiscountAmoun(BigDecimal discountAmoun) {
		this.discountAmoun = discountAmoun;
	}

	public Long getUseIntegration() {
		return useIntegration;
	}

	public void setUseIntegration(Long useIntegration) {
		this.useIntegration = useIntegration;
	}

	public Long getIntegration() {
		return integration;
	}

	public void setIntegration(Long integration) {
		this.integration = integration;
	}

	public Long getGrowth() {
		return growth;
	}

	public void setGrowth(Long growth) {
		this.growth = growth;
	}

	public List<LmsOrderItem> getOrderItem() {
		return orderItem;
	}

	public void setOrderItem(List<LmsOrderItem> orderItem) {
		this.orderItem = orderItem;
	}

    

}
